<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Acconeer API: integration/acc_app_integration.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Acconeer API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('acc__app__integration_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">acc_app_integration.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
</div>
<p><a href="acc__app__integration_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a01cae97b27162e37209f11f6a9fc786c"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a01cae97b27162e37209f11f6a9fc786c">acc_app_integration_thread_id_t</a></td></tr>
<tr class="separator:a01cae97b27162e37209f11f6a9fc786c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb1bf7b4b543b02b00fbb642113d3b0d"><td class="memItemLeft" align="right" valign="top">typedef struct acc_app_integration_thread_handle *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#adb1bf7b4b543b02b00fbb642113d3b0d">acc_app_integration_thread_handle_t</a></td></tr>
<tr class="separator:adb1bf7b4b543b02b00fbb642113d3b0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dfd1b674ac04f0646131338328a2ce1"><td class="memItemLeft" align="right" valign="top">typedef struct acc_app_integration_mutex *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a></td></tr>
<tr class="separator:a6dfd1b674ac04f0646131338328a2ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87a146a23d041611491699c0285c118e"><td class="memItemLeft" align="right" valign="top">typedef struct acc_app_integration_semaphore *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a></td></tr>
<tr class="separator:a87a146a23d041611491699c0285c118e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a7a3aefec01414089fdcc10c57662c111"><td class="memItemLeft" align="right" valign="top"><a class="el" href="acc__app__integration_8h.html#adb1bf7b4b543b02b00fbb642113d3b0d">acc_app_integration_thread_handle_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a7a3aefec01414089fdcc10c57662c111">acc_app_integration_thread_create</a> (void(*func)(void *param), void *param, const char *name)</td></tr>
<tr class="memdesc:a7a3aefec01414089fdcc10c57662c111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create thread function.  <a href="#a7a3aefec01414089fdcc10c57662c111">More...</a><br /></td></tr>
<tr class="separator:a7a3aefec01414089fdcc10c57662c111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b1bb8d78239aa794b828c434519a41c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a5b1bb8d78239aa794b828c434519a41c">acc_app_integration_thread_cleanup</a> (<a class="el" href="acc__app__integration_8h.html#adb1bf7b4b543b02b00fbb642113d3b0d">acc_app_integration_thread_handle_t</a> handle)</td></tr>
<tr class="memdesc:a5b1bb8d78239aa794b828c434519a41c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up thread.  <a href="#a5b1bb8d78239aa794b828c434519a41c">More...</a><br /></td></tr>
<tr class="separator:a5b1bb8d78239aa794b828c434519a41c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad24c0c579b6d6975e85867a2ce808ce7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#ad24c0c579b6d6975e85867a2ce808ce7">acc_app_integration_mutex_create</a> (void)</td></tr>
<tr class="memdesc:ad24c0c579b6d6975e85867a2ce808ce7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a mutex.  <a href="#ad24c0c579b6d6975e85867a2ce808ce7">More...</a><br /></td></tr>
<tr class="separator:ad24c0c579b6d6975e85867a2ce808ce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad51ab105cff2071e7a79ef029a0c407b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#ad51ab105cff2071e7a79ef029a0c407b">acc_app_integration_mutex_destroy</a> (<a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a> mutex)</td></tr>
<tr class="memdesc:ad51ab105cff2071e7a79ef029a0c407b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a mutex.  <a href="#ad51ab105cff2071e7a79ef029a0c407b">More...</a><br /></td></tr>
<tr class="separator:ad51ab105cff2071e7a79ef029a0c407b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d31856e47bff3f704c7ffee303317d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a4d31856e47bff3f704c7ffee303317d7">acc_app_integration_mutex_lock</a> (<a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a> mutex)</td></tr>
<tr class="memdesc:a4d31856e47bff3f704c7ffee303317d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock a mutex.  <a href="#a4d31856e47bff3f704c7ffee303317d7">More...</a><br /></td></tr>
<tr class="separator:a4d31856e47bff3f704c7ffee303317d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a445d93cea80ded5c521acee366d52200"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a445d93cea80ded5c521acee366d52200">acc_app_integration_mutex_unlock</a> (<a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a> mutex)</td></tr>
<tr class="memdesc:a445d93cea80ded5c521acee366d52200"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlock a mutex.  <a href="#a445d93cea80ded5c521acee366d52200">More...</a><br /></td></tr>
<tr class="separator:a445d93cea80ded5c521acee366d52200"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e0671839d47643ac206b21f0d189f58"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a2e0671839d47643ac206b21f0d189f58">acc_app_integration_sleep_us</a> (uint32_t time_usec)</td></tr>
<tr class="memdesc:a2e0671839d47643ac206b21f0d189f58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep for a specified number of microseconds.  <a href="#a2e0671839d47643ac206b21f0d189f58">More...</a><br /></td></tr>
<tr class="separator:a2e0671839d47643ac206b21f0d189f58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ba31daf8d3589f4d2f772a4d8f3b496"><td class="memItemLeft" align="right" valign="top"><a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a6ba31daf8d3589f4d2f772a4d8f3b496">acc_app_integration_semaphore_create</a> (void)</td></tr>
<tr class="memdesc:a6ba31daf8d3589f4d2f772a4d8f3b496"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a semaphore and returns a pointer to the newly created semaphore.  <a href="#a6ba31daf8d3589f4d2f772a4d8f3b496">More...</a><br /></td></tr>
<tr class="separator:a6ba31daf8d3589f4d2f772a4d8f3b496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54abaf03e0aace0b013bb38540fc3847"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a54abaf03e0aace0b013bb38540fc3847">acc_app_integration_semaphore_wait</a> (<a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a> sem, uint16_t timeout_ms)</td></tr>
<tr class="memdesc:a54abaf03e0aace0b013bb38540fc3847"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for the semaphore to be available. The task calling this function will be blocked until the semaphore is signaled from another task.  <a href="#a54abaf03e0aace0b013bb38540fc3847">More...</a><br /></td></tr>
<tr class="separator:a54abaf03e0aace0b013bb38540fc3847"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c8db82e86e5a5c907cf832124afbe58"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a7c8db82e86e5a5c907cf832124afbe58">acc_app_integration_semaphore_signal</a> (<a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a> sem)</td></tr>
<tr class="memdesc:a7c8db82e86e5a5c907cf832124afbe58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal the semaphore.  <a href="#a7c8db82e86e5a5c907cf832124afbe58">More...</a><br /></td></tr>
<tr class="separator:a7c8db82e86e5a5c907cf832124afbe58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c6e5018af6813cc5c1b6e8c7a8d0972"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a9c6e5018af6813cc5c1b6e8c7a8d0972">acc_app_integration_semaphore_destroy</a> (<a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a> sem)</td></tr>
<tr class="memdesc:a9c6e5018af6813cc5c1b6e8c7a8d0972"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deallocates the semaphore.  <a href="#a9c6e5018af6813cc5c1b6e8c7a8d0972">More...</a><br /></td></tr>
<tr class="separator:a9c6e5018af6813cc5c1b6e8c7a8d0972"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a4b42709911627fb6cc278423d968c5"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a8a4b42709911627fb6cc278423d968c5">acc_app_integration_mem_alloc</a> (size_t size)</td></tr>
<tr class="memdesc:a8a4b42709911627fb6cc278423d968c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate dynamic memory.  <a href="#a8a4b42709911627fb6cc278423d968c5">More...</a><br /></td></tr>
<tr class="separator:a8a4b42709911627fb6cc278423d968c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f625abc9e436732c17eff1fd728d15b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="acc__app__integration_8h.html#a0f625abc9e436732c17eff1fd728d15b">acc_app_integration_mem_free</a> (void *ptr)</td></tr>
<tr class="memdesc:a0f625abc9e436732c17eff1fd728d15b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free dynamic memory.  <a href="#a0f625abc9e436732c17eff1fd728d15b">More...</a><br /></td></tr>
<tr class="separator:a0f625abc9e436732c17eff1fd728d15b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a6dfd1b674ac04f0646131338328a2ce1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dfd1b674ac04f0646131338328a2ce1">&#9670;&nbsp;</a></span>acc_app_integration_mutex_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct acc_app_integration_mutex* <a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="acc__app__integration_8h_source.html#l00020">20</a> of file <a class="el" href="acc__app__integration_8h_source.html">acc_app_integration.h</a>.</p>

</div>
</div>
<a id="a87a146a23d041611491699c0285c118e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87a146a23d041611491699c0285c118e">&#9670;&nbsp;</a></span>acc_app_integration_semaphore_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct acc_app_integration_semaphore* <a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="acc__app__integration_8h_source.html#l00024">24</a> of file <a class="el" href="acc__app__integration_8h_source.html">acc_app_integration.h</a>.</p>

</div>
</div>
<a id="adb1bf7b4b543b02b00fbb642113d3b0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb1bf7b4b543b02b00fbb642113d3b0d">&#9670;&nbsp;</a></span>acc_app_integration_thread_handle_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct acc_app_integration_thread_handle* <a class="el" href="acc__app__integration_8h.html#adb1bf7b4b543b02b00fbb642113d3b0d">acc_app_integration_thread_handle_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="acc__app__integration_8h_source.html#l00016">16</a> of file <a class="el" href="acc__app__integration_8h_source.html">acc_app_integration.h</a>.</p>

</div>
</div>
<a id="a01cae97b27162e37209f11f6a9fc786c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01cae97b27162e37209f11f6a9fc786c">&#9670;&nbsp;</a></span>acc_app_integration_thread_id_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="acc__app__integration_8h.html#a01cae97b27162e37209f11f6a9fc786c">acc_app_integration_thread_id_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="acc__app__integration_8h_source.html#l00012">12</a> of file <a class="el" href="acc__app__integration_8h_source.html">acc_app_integration.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a8a4b42709911627fb6cc278423d968c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a4b42709911627fb6cc278423d968c5">&#9670;&nbsp;</a></span>acc_app_integration_mem_alloc()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* acc_app_integration_mem_alloc </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocate dynamic memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The bytesize of the reuested memory block </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns either NULL or a unique pointer to a memory block </dd></dl>

</div>
</div>
<a id="a0f625abc9e436732c17eff1fd728d15b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f625abc9e436732c17eff1fd728d15b">&#9670;&nbsp;</a></span>acc_app_integration_mem_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void acc_app_integration_mem_free </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ptr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free dynamic memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>A pointer to the memory space to be freed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad24c0c579b6d6975e85867a2ce808ce7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad24c0c579b6d6975e85867a2ce808ce7">&#9670;&nbsp;</a></span>acc_app_integration_mutex_create()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a> acc_app_integration_mutex_create </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a mutex. </p>
<dl class="section return"><dt>Returns</dt><dd>A mutex </dd></dl>

</div>
</div>
<a id="ad51ab105cff2071e7a79ef029a0c407b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad51ab105cff2071e7a79ef029a0c407b">&#9670;&nbsp;</a></span>acc_app_integration_mutex_destroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void acc_app_integration_mutex_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a>&#160;</td>
          <td class="paramname"><em>mutex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroy a mutex. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mutex</td><td>A mutex </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a4d31856e47bff3f704c7ffee303317d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d31856e47bff3f704c7ffee303317d7">&#9670;&nbsp;</a></span>acc_app_integration_mutex_lock()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void acc_app_integration_mutex_lock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a>&#160;</td>
          <td class="paramname"><em>mutex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Lock a mutex. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mutex</td><td>A mutex </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a445d93cea80ded5c521acee366d52200"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a445d93cea80ded5c521acee366d52200">&#9670;&nbsp;</a></span>acc_app_integration_mutex_unlock()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void acc_app_integration_mutex_unlock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="acc__app__integration_8h.html#a6dfd1b674ac04f0646131338328a2ce1">acc_app_integration_mutex_t</a>&#160;</td>
          <td class="paramname"><em>mutex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Unlock a mutex. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mutex</td><td>A mutex </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6ba31daf8d3589f4d2f772a4d8f3b496"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ba31daf8d3589f4d2f772a4d8f3b496">&#9670;&nbsp;</a></span>acc_app_integration_semaphore_create()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a> acc_app_integration_semaphore_create </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a semaphore and returns a pointer to the newly created semaphore. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the semaphore on success otherwise NULL </dd></dl>

</div>
</div>
<a id="a9c6e5018af6813cc5c1b6e8c7a8d0972"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c6e5018af6813cc5c1b6e8c7a8d0972">&#9670;&nbsp;</a></span>acc_app_integration_semaphore_destroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void acc_app_integration_semaphore_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a>&#160;</td>
          <td class="paramname"><em>sem</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Deallocates the semaphore. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sem</td><td>A pointer to the semaphore to deallocate </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a7c8db82e86e5a5c907cf832124afbe58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c8db82e86e5a5c907cf832124afbe58">&#9670;&nbsp;</a></span>acc_app_integration_semaphore_signal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void acc_app_integration_semaphore_signal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a>&#160;</td>
          <td class="paramname"><em>sem</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Signal the semaphore. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sem</td><td>A pointer to the semaphore to signal </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a54abaf03e0aace0b013bb38540fc3847"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54abaf03e0aace0b013bb38540fc3847">&#9670;&nbsp;</a></span>acc_app_integration_semaphore_wait()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool acc_app_integration_semaphore_wait </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="acc__app__integration_8h.html#a87a146a23d041611491699c0285c118e">acc_app_integration_semaphore_t</a>&#160;</td>
          <td class="paramname"><em>sem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>timeout_ms</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Waits for the semaphore to be available. The task calling this function will be blocked until the semaphore is signaled from another task. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sem</td><td>A pointer to the semaphore to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">timeout_ms</td><td>The amount of time to wait before a timeout occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns true on success and false on timeout </dd></dl>

</div>
</div>
<a id="a2e0671839d47643ac206b21f0d189f58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e0671839d47643ac206b21f0d189f58">&#9670;&nbsp;</a></span>acc_app_integration_sleep_us()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void acc_app_integration_sleep_us </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>time_usec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sleep for a specified number of microseconds. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">time_usec</td><td>Time in microseconds to sleep </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="acc__app__integration__stm32_8c_source.html#l00008">8</a> of file <a class="el" href="acc__app__integration__stm32_8c_source.html">acc_app_integration_stm32.c</a>.</p>

</div>
</div>
<a id="a5b1bb8d78239aa794b828c434519a41c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b1bb8d78239aa794b828c434519a41c">&#9670;&nbsp;</a></span>acc_app_integration_thread_cleanup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void acc_app_integration_thread_cleanup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="acc__app__integration_8h.html#adb1bf7b4b543b02b00fbb642113d3b0d">acc_app_integration_thread_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clean up thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>A thread handle </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a7a3aefec01414089fdcc10c57662c111"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a3aefec01414089fdcc10c57662c111">&#9670;&nbsp;</a></span>acc_app_integration_thread_create()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="acc__app__integration_8h.html#adb1bf7b4b543b02b00fbb642113d3b0d">acc_app_integration_thread_handle_t</a> acc_app_integration_thread_create </td>
          <td>(</td>
          <td class="paramtype">void(*)(void *param)&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create thread function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">func</td><td>Thread func </td></tr>
    <tr><td class="paramname">param</td><td>Thread func parameters </td></tr>
    <tr><td class="paramname">name</td><td>Name of thread</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A thread handle </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_31b277648a83fb9e4f2036de3792f5c5.html">integration</a></li><li class="navelem"><a class="el" href="acc__app__integration_8h.html">acc_app_integration.h</a></li>
    <li class="footer">Generated on Mon Dec 2 2019 09:40:46 for Acconeer API by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
